查看原文
其他

秋招收官,「网易/美团/菜鸟」面试题已拿offer

水刀八木 终端研发部 2022-08-26

点击上方的终端研发部右上角选择设为星标

每日早10点半,技术文章准时送上

公众号后台回复“学习”,获取作者独家秘制精品资料


往期文章

重磅!Vue 3.0源代码公布后,究竟有哪些变更?

使用Vue开发微信小程序:mpvue框架

混合开发框架的对比,Flutter更胜一筹?

2019最新Vue开发指南,值得收藏!

出处作者:水刀八木

apkbus.com/blog-986157-81800.html

前言

去秋招热潮过去大半,经过两个月的辛苦奋战,最终拿到了网易、头条、字节、菜鸟的offer,感觉面试的时候还是很幸运的,很多题都是我之前刷题刷到过的,哈哈哈~~下面给广大网友们分享一下我的面经(网易/美团/菜鸟)供大家参考参考…

01 网易有道(Java研发工程师)

一面(40分钟)
  • 常用的数据结构
  • 各种链表之间的区别
  • 算法:链表归并排序。递归写法和非递归写法两种
  • 归并排序的难点
  • 数据库 索引 什么时候不适合用
二面(80分钟)
  • 算法:实现根号2,保留10位小数
  • 算法:实现一致性hash
  • 一致性hash底层用的什么数据结构
  • 介绍项目
  • HTTP协议1.0、1.1、2.0的区别
  • HTTPS协议双方确认传输密钥过程
  • 场景:select name, age from user的数据库查询过程,以及怎么优化,有索引以及无索引时
  • update age from user无索引是行锁还是表锁,为什么
  • mvcc隔离级别怎么防止幻读
  • 主从同步过程,binlog两种类型的区别
  • 场景:用数据库实现分布式数据库唯一id递增
  • 每个数据库缓存失效的那一刻怎么办
  • 说下对dubbo、zk等分布式的理解
  • 自己设计一个PRC框架要考虑什么
  • 用Tomcat主要是解决什么问题
  • SpringBoot了解吗
三面(30分钟)
  • 怎么设计一对多关系数据表、多对多关系数据表
  • 数据库第一第二第三范式
  • 数据库死锁
  • HTTP的get、post、delete之类
  • 算法:矩阵走方格的最短路径,有障碍物(BFS)
  • 设计微信发朋友圈、浏览朋友圈、删除朋友圈的整个流程和存储结构
  • 说项目和论文……
  • 工作岗位意向 想做哪方面
  • 团队部门更喜欢哪个
hr面(30分钟)
  • 自我介绍
  • 面对非计算机专业的我,你来介绍下自己的项目
  • 遇到的最大的困难,如何克服的自己最自豪的一件事
  • 说一下自己的优缺点
  • 平时除了在实验室外,其他的爱好
  • 团队工作中如果有一个人没有完成 如何对上级交付
  • 平时团队合作的多吗 说一个例子
  • 生活工作如何平衡
  • 现在有哪些offer了

02 美团(系统开发工程师)

一面(一小时)
  • 说项目
  • 令牌桶算法
  • 登录验证码怎么做
  • Cookie和Session存在哪 如果是多机存储都会有什么问题 带id去找重复了怎么办 多用户修改了怎么办
  • zookeeper数据结构 写节点的内存限制 在dubbo里作为什么角色
  • dubbo中服务调用的几种形式
  • RPC过程 怎么知道要调用的远程主机的方法
  • 怎么把一个异步过程的返回结果转为同步的
  • IOC的循环依赖 怎么解决 有哪几种
  • AOP原理
  • 你遇到的常见异常
  • StringBuilder和StringBuffer区别
  • ==和equals的区别
  • HashMap、concurrentHashMap
  • HTTP有哪些方法 get和post的区别
  • 设计模式
  • CAS实现原理
  • ThreadLocal原理,底层,放在哪
  • AQS实现原理 队列为啥要双向的
  • Condition队列
  • 平时怎么学习的
  • 给你自己的技术打几分、学习能力打几分
二面(40分钟)
  • TCP和UDP的区别
  • TCP时间和资源消耗具体在哪
  • 滑动窗口大小初始值
  • TCP和UDP可以共用端口吗
  • socket先启动服务器还是先三次握手 对应关系
  • 三次握手过程中存在的问题
  • Linux进程通信方式 最常用的哪种
  • 共享内存生命周期
  • Linux堆栈和Java堆栈区别
  • Java线程池 ScheduledThreadPool
  • 项目应用属于io密集还是cpu密集
  • Spring的优点和缺点
  • Bean对象作用域有哪些
  • 知道什么别的类似于Spring这样的框架
  • 反向代理为啥叫反向不叫正向
  • Nginx和Apache 为什么Nginx快 底层实现是什么
  • 数据库mysql存储引擎 innodb优势 其他引擎
  • 用索引一定快吗 什么情况下查询快/慢
三面(一小时)
  • 深挖项目 挨个问一遍
  • 对Spring架构的理解 画类关系继承图
  • 对Dubbo的理解 结构是什么样的
  • 设计题:电商系统设计 画类图和UML图表示之间的负责关系
  • 如果给你一个大型系统开发 如何分工统筹 按什么原则分
  • 项目中和别人遇到冲突的例子 怎么解决的
  • 平时为什么看源码 如何读源码 按照什么顺序学习
  • 对架构设计有什么看法
  • 了解领域驱动设计吗
Hr面(40分钟)
  • 介绍下做过的数模比赛 为什么要做这个
  • 做过的课题中遇到的最难的问题 怎么解决的
  • 从大学到现在印象最深的一件事
  • 为什么选这个研究方向 喜欢吗
  • 导师当时是什么标准选择的
  • 为什么想做后台 对后台的理解
  • 前端岗,安全岗为什么不考虑
  • 职业规划
  • 平时的爱好
  • 家庭情况
  • 家里人对你去互联网工作怎么看
  • 互联网工作压力和强度大 你怎么看
  • 工作地点问题 为什么想去北京
  • 现在有几个offer 选择时会如何考虑

03 菜鸟

一面
  • 上来先让我做了自我介绍,简单介绍了一下之前做过什么项目,用了什么技术等等,没有详细问项目的细节,但具体的功能和业务一定要讲清楚。
  • 中间穿插着会问到一些基础知识。总共面了50多分钟,java基础能问的基本都问完了。
  • JVM垃圾回收,fullgc是否可以回收方法区
  • redis支持的数据类型到跳跃表,redis同步策略
  • 如何自己实现lru
  • mysql索引的数据结构,为什么用B+树不用B树
  • 事务隔离级别,聚集锁非聚集锁(问到了一个非常细节的问题:如何用可重复读的隔离级别避免幻读)
  • 线程池的构造函数参数,队列的拒绝策略
  • spring相关、bean的生命周期,循环引用问题spring如何处理
  • concurrentHashmap1.8为什么放弃了分段锁
  • 数据库分库分表相关
感觉一面主要考察的是知识广度。
二面
  • springAOP的原理,动态代理是怎么实现的
  • snmp
  • fullgc的时候会导致接口的响应速度特别慢,如何排查和解决
  • netty,如何避免的NIO空循环,零拷贝
  • 问了一些简单的算法,说一下思路
二面考察的主要是知识的深度以及解决问题的能力。开篇常规先简单自我介绍以及介绍项目。
三面
  • kafka的replicas的作用,为什么比其他的消息队列好。
  • 微博评论长链接短链接的问题,让我设计一个服务来处理长链接短链接,包括怎么读怎么存等。
三面面试官特别关注项目的实现和细节。为什么分这几个模块,每个模块做什么以及为什么要用这些技术,都需要非常清楚地解释,中间如果他有疑问会立马打断来问问题。

阅读更多

程序员接私活经验总结IDEA 的优雅调试,让 bug 无处藏身!
面试官:你分析过线程池源码吗?
一个零故障的生产环境是不存在的
那些简历造假拿 Offer 的程序员,后来都怎么样了?

相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

喜欢就给个“在看” 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存